<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        let arr = [];
        console.log(Boolean(arr)); // true
        arr = null;
        console.log(Boolean(arr)); //  false;

        // 重新设置为空数组
        arr = [];
        // 讨论：空数组是不是0值？
        console.log('0 == []', 0 == arr); // true

        // 延展：空对象是不是0值？
        let obj = {};
        // 空对象不是0值
        console.log('0 == {}', 0 == obj); // false
        // 两个空数组相比：false，因为引用地址不同
        console.log("[] == []", [] == []); // false

        // 如果数组和基本数据类型，它会考虑自己是不是0值状态
        console.log("---------------------数组与0值比较----------------")
        console.log([] == false); // true
        console.log([] == null); // false
        console.log([] == 0); // true
        console.log([] == '0'); // false
        console.log([] == ''); // true

        let str = "1";
        let num = 1;
        console.log(str + num);

        arr = [1,2,3];
        console.log("" + arr); // 1,2,3
        console.log(num + arr); // 11,2,3

        // 
        console.log("1 + true：",1 + true); // 2
        console.log("1 + false：",1 + false); // 1
        console.log("1 + '1'：",1 + '1'); // 11
        console.log("true + 'true'：",true + 'true'); // 11
        // 数值+布尔：布尔先转数值再相加
        // 所有数据+字符串：字符串拼接
        // 对象+字符串：对象先转字符串（调用对象的toString方法）再拼接
        obj = {name:"hydra"}
        obj.toString = function() {
            return "Object";
        }
        console.log(obj + "123");


        console.log("---------------------数值与数组相加----------------")
        console.log(1 + [1]);
        console.log(1 + [1,2,3]); // 11,2,3
        console.log(1 - [1]);
        console.log(1 - [1, 2]);

        console.log("1 * '12a'：",1 * '12a');
        let n = parseInt('12a');
        console.log(n); // 12
        n = Number('12a');
        console.log(n); // NaN
    </script>
</body>

</html>